# 用于画出网格地图，在有pygame版本后不再重要
import numpy as np
import matplotlib.pyplot as plt

data_tmp = np.load('npy/resized_map.npy')
data = data_tmp.copy()

for i in range(50):
    data[i] = data_tmp[49-i]


plt.figure(figsize=(5, 5))  # 50个单位宽高，对于50x50的数据，保证了1:1像素比

# 绘制图像，使用nearest插值避免颜色混合
plt.imshow(data, cmap='viridis', interpolation='nearest',  extent=[0, data.shape[1], 0, data.shape[0]])


ax = plt.gca()

# 调整刻度起点为0，确保网格线与像素块边缘对齐
x_ticks = np.arange(0, data.shape[1]+1)  # 从0开始，到数据宽度+1，这样最后一个刻度正好在最后一个像素块之后
y_ticks = np.arange(0, data.shape[0]+1)

ax.set_xticks(x_ticks, minor=False)
ax.set_yticks(y_ticks, minor=False)

# 绘制网格线
ax.grid(which='major', color='black', linestyle='-', linewidth=1)

for spine in ax.spines.values():
    spine.set_visible(False)


# 确保图像比例正确，避免自动缩放
plt.axis('scaled')  # 'equal' 可能会导致非正方形像素失真，使用 'scaled' 更合适
plt.tight_layout()

plt.show()
